/*
Date:20210414 20:25pm
B:15case
Date:20210414 21:00pm
1.显然题目太长，主要分为两种流程，每次通过差值确认有没有进入abe流程。abe那个太复杂，只写了周期报告的情况有15%case，太罗嗦，没时间写。
2.差值只能只能看到是不是abe状态有没有发生，而不是abe有可能是刚结束abe而不是正常报告，需要多一个变量来确认是不是结束abe状态。
3.流程间的切换有太多变量要初始化，容易搞混。
*/
#include<iostream>
#include<vector>
#include<stack>
#include<queue>
using namespace std;
void jump(int* A, int* B,int &i, int& n)
{
	//遍历i及的右边A[i]个
	int new_i=i;
	int j;
	int max_len = 0;
	for (j = i; j <= i + A[i]; j++)
	{
		//cout << j << " ";
		if (B[j] >= max_len)
		{
			new_i = j;
			max_len = B[j];
			//if (j + A[j]+1 >= n)
			//{
			//	i = n;
			//	return;
			//}
		}
	}
	i = new_i;
}
int main()
{
	/*
	
*/

	int i, j, n;
	vector<int>V;
	cin >> n;
	
	if (n == 0) { cout << 0; return 0; }
	int* A = new int[n];

	for (i = 0; i < n; i++)
	{
		cin >> A[i];
	}
	int T = 59;
	V.push_back(A[0]);
	bool flag = 0;
	//每次通过差值确认有没有进入abe流程
	for (i = 1; i < n; i++)
	{
		if (A[i] - A[i - 1] >= 9)
		{
			//abe开始，另一个周期要清零吧
			T = 60;
			flag = 1;

		}
		else
		{
			V.push_back(A[i]);
			if (flag)
			{

				flag = 0;
			}
			if (T == 0)
			{
				cout << V[V.size() - 61] << "," << V[V.size() - 1];
				T = 60;
				continue;
			}
			T--;
		}
	}
}